// 配送员小程序 - 登录页面
const app = getApp();

Page({
  data: {
    phone: '',
    password: '',
    loading: false,
    errorMsg: ''
  },

  onLoad() {
    // 检查是否已登录
    const token = wx.getStorageSync('deliveryToken');
    const staffInfo = wx.getStorageSync('staffInfo');
    
    if (token && staffInfo) {
      // 已登录，跳转到首页
      wx.reLaunch({
        url: '/pages/home/index'
      });
    }
  },

  // 输入手机号
  inputPhone(e) {
    this.setData({
      phone: e.detail.value,
      errorMsg: ''
    });
  },

  // 输入密码
  inputPassword(e) {
    this.setData({
      password: e.detail.value,
      errorMsg: ''
    });
  },

  // 登录
  login() {
    const { phone, password } = this.data;
    
    // 表单验证
    if (!phone) {
      this.setData({ errorMsg: '请输入手机号' });
      return;
    }
    
    if (!/^1\d{10}$/.test(phone)) {
      this.setData({ errorMsg: '请输入正确的手机号' });
      return;
    }
    
    if (!password) {
      this.setData({ errorMsg: '请输入密码' });
      return;
    }
    
    this.setData({ loading: true });
    
    // 调用登录接口
    wx.request({
      url: `${app.globalData.apiBaseUrl}/api/delivery-staff/login`,
      method: 'POST',
      data: {
        phone,
        password
      },
      success: (res) => {
        if (res.statusCode === 200 && res.data.success) {
          // 登录成功
          const { token, staff } = res.data;
          
          // 保存登录信息
          wx.setStorageSync('deliveryToken', token);
          wx.setStorageSync('staffInfo', staff);
          
          // 设置全局数据
          app.globalData.deliveryToken = token;
          app.globalData.staffInfo = staff;
          
          // 跳转到首页
          wx.reLaunch({
            url: '/pages/home/index'
          });
        } else {
          // 登录失败
          this.setData({
            errorMsg: res.data.message || '登录失败，请重试'
          });
        }
      },
      fail: () => {
        this.setData({
          errorMsg: '网络错误，请检查网络连接'
        });
      },
      complete: () => {
        this.setData({ loading: false });
      }
    });
  }
}); 